/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package vccibernos;
import java.util.*;
import persistencia.PersistenciaEmpleado;
/**
 *
 * @author JAVA
 */
public class GestionEmpleado {
    
    public static void mostrarDependientes(){
        List<Empleado> dep=PersistenciaEmpleado.mostrarDependientes();
        Iterator it=dep.iterator();
        System.out.println("Hay "+dep.size()+" dependientes");
        System.out.println("-----------------------");
        while(it.hasNext()){
            Empleado d=(Empleado)it.next();            
            System.out.println("Id: "+d.getId()+" Nombre: "+d.getNombre()+" Apellidos: "+d.getApellidos()+" Dni: "+d.getDni());
            System.out.println("Domicilio: "+d.getDomicilio()+" Telefono"+d.getTelefono()+" E-mail: "+d.getEmail());
            System.out.println("Nombre de usuario: "+d.getNomUsuario()+" Pin: "+d.getPin());
            System.out.println("-----------------------");
        }
    }
    
    public static void mostrarEncargados(){
        List<Empleado> en=PersistenciaEmpleado.mostrarEncargados();
        Iterator it=en.iterator();
        System.out.println("Hay "+en.size()+" encargados");
        System.out.println("-----------------------");
        while(it.hasNext()){
            Empleado d=(Empleado)it.next();            
            System.out.println("Id: "+d.getId()+" Nombre: "+d.getNombre()+" Apellidos: "+d.getApellidos()+" Dni: "+d.getDni());
            System.out.println("Domicilio: "+d.getDomicilio()+" Telefono"+d.getTelefono()+" E-mail: "+d.getEmail());
            System.out.println("Nombre de usuario: "+d.getNomUsuario()+" Pin: "+d.getPin());
            System.out.println("-----------------------");
        }
    }
    
    public static boolean verificarUsuario(String nomusuario){
        boolean ret=false;
        if(PersistenciaEmpleado.verificarLogin(nomusuario)==0){
            ret=true;
        }
        return ret;
    }
    
    public static void addDependiente(String nombre,String apellidos,String dni,String domicilio,String telefono,String email,String nomusuario,int pin){
        try {
            Empleado d=new Empleado(nombre, apellidos, dni, domicilio, telefono, email, nomusuario, pin,"Dependiente");
            if(PersistenciaEmpleado.insertarEmpleado(d)==1){
                System.out.println("Empleado insertado correctamente");
            }
            else{
                System.out.println("Empleado NO insertado");
            }
        } catch (Exception ex) {
            System.out.println("Error en la insercion del empleado");
        }
    }
    
    public static void addEncargado(String nombre,String apellidos,String dni,String domicilio,String telefono,String email,String nomusuario,int pin){
        try {
            Empleado e=new Empleado(nombre, apellidos, dni, domicilio, telefono, email, nomusuario, pin,"Encargado");
            if(PersistenciaEmpleado.insertarEmpleado(e)==1){
                System.out.println("Empleado insertado correctamente");
            }
            else{
                System.out.println("Empleado NO insertado");
            }
        } catch (Exception ex) {
            System.out.println("Error en la insercion del empleado");
        }
    }
    
    public static void eliminarEmpleado(int codigo){
        try {
            if(PersistenciaEmpleado.eliminarEmpleado(codigo)==1){
                System.out.println("Empleado eliminado correctamente");
            }
            else{
                System.out.println("Empleado NO eliminado");
                System.out.println("Compruebe los datos");
            }
        } catch (Exception ex) {
            System.out.println("Error en la eliminacion del empleado");
        }
    }
    
    public static void modificarEmpleado(int codigo,String nombre,String valor){
        if(PersistenciaEmpleado.modificarEmpleado(codigo, nombre, valor)==1){
            System.out.println("Empleado modificado correctamente");
        }
        else{
            System.out.println("Empleado NO modificado// Verifique los datos");
        }
    }
    
    public static Empleado login(String nombreusuario,int pin){
        Empleado e=PersistenciaEmpleado.comprobarLogin(nombreusuario, pin);
        return e;
    }  
    
    public static void addIncidencia(Empleado e,String desc){
        Incidencia i=new Incidencia(desc, e);
        if(PersistenciaEmpleado.insertarIncidencia(i)==1){
            System.out.println("Incidencia insertada correctamente");
        }
        else{
            System.out.println("Incidencia NO insertada");
        }
    }
    
    public static void mostrarIncidencias(){
        List<Incidencia> inc=PersistenciaEmpleado.mostrarIncidencias();
        Iterator it=inc.iterator();
        System.out.println("Hay "+inc.size()+" incidencias");
        System.out.println("-----------------");
        while(it.hasNext()){
            Incidencia i=(Incidencia)it.next();      
            System.out.println("Incidencia creada por: "+i.getE().getNombre()+" "+i.getE().getApellidos()+" el: "+i.getFecha().toString());
            System.out.println("Descripcion: "+i.getDescripcion());
            System.out.println("------------------");
        }
    }
}